package com.jumi.microservice.service;

import com.jumi.microservice.domain.LabelDTO;
import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * 标签管理service组件接口
 *
 * @author Administrator
 */
public interface LabelService {

    /**
     * 查询标签列表
     *
     * @param labelName 查询条件
     * @return 标签列表
     */
    List<LabelDTO> listLabel(String labelName);

    /**
     * 添加商品页面-查询标签列表
     *
     * @return 标签列表
     */
    List<LabelDTO> dropListLabel() ;

    /**
     * 根据标签id查询标签
     *
     * @param id 标签id
     * @return 标签
     */
    LabelDTO getLabelById(Long id);

    /**
     * 新增标签
     *
     * @param label   标签
     * @param request HttpServletRequest
     */
    void saveLabel(LabelDTO label, HttpServletRequest request);

    /**
     * 更新标签
     *
     * @param label   标签
     * @param request HttpServletRequest
     */
    void updateLabel(LabelDTO label, HttpServletRequest request);

    /**
     * 删除标签
     *
     * @param id     标签id,
     * @param request HttpServletRequest
     */
    void removeLabelById(Long id, HttpServletRequest request);

    /**
     * 标签状态启用/停用
     *
     * @param id      主键id
     * @param status  状态 (1启用，0.禁用)
     * @param request HttpServletRequest
     */
    void enableStatus(Long id, Integer status, HttpServletRequest request);
}
